The present invention relates to a modular computer system constructed by combining a plurality of function modules, and in particular to a modular computer system suitable for controllers incorporated in industrial machines and robots.
As the scheme for constructing a computer system by combining a plurality of function modules, various schemes have been proposed (for example, PC/104-plus Specification Version 1.2: PC/104 Embedded Consortium (established in August 2001)). According to this paper, for example, a board of a processing module having a processor mounted thereon and boards of I/O modules, on each of which an interface device functioning between the processing module and a peripheral device is mounted, are stacked via connectors forming a bus. In such a modular computer system, it is necessary, in order to manage system devices such as the I/O modules, for the processor mounted on the processing module to, for example, discriminate a kind of an I/O device mounted on an I/O module and specify a device driver to be used by an operating system (OS) in order to drive an I/O device. In other words, the operating system (OS) searches a table having device drivers respectively associated with identification codes of I/O devices, specifies a device driver of the discriminated I/O driver, develops it on a memory, and thereby initializes the I/O device or conducts access processing on the I/O device on demand.
In the above-described paper, the processor selects an I/O module by using an IDSEL signal in order to discriminate a connected I/O device, reads values of configuration registers provided in PCI devices included in the I/O module, and recognizes a PCI device. In this case, in order to connect a PCI device on the processor side and a PCI device on the I/O side to each other via a PCI bus and directly specify a subject PCI device by using an IDSEL signal, connectors based on the PCI bus specifications are disposed on the module boards and individual wiring for the IDSEL signal is conducted between the PCI device on the processor side and the PCI device on the I/O side. The modules of such a PCI scheme have a plug and play function, which is a function of suitably initializing I/O devices, a sophisticated function, and an advantage that flexible configuration can be implemented. As a conventional scheme having the plug and pay function in such a module configuration, for example, a device recognition technique of ISA bus scheme is known.
In the conventional modular technique described in the above-described paper, however, attention is not paid to incorporate arbitrary I/O modules as in a computer system used in a controller incorporated in industrial machines and robots (hereafter referred to as embedded controller). In other words, in the conventional modular technique, design time and labor do not pose a great problem, in the case where incorporated I/O devices are specified as in embedded computer systems specified in concrete use. In the case where arbitrary I/O modules are incorporated, however, there is a problem that it takes time for design and labor is required for fabrication.
In other words, in the case of a computer system used in embedded controllers incorporated in industrial machines and robots, typically it is urgently demanded that the computer system be formed of only minimum required parts in order to minimize the cost at the time of mass production. In addition, because of the demand for reduction in size of industrial machines having controllers incorporated therein, the amounting volume must be made small to the utmost. Therefore, it is desired that the module in which the controller is incorporated can be made small in size as far as possible. In the case where the computer system is used in the embedded controller, it is desirable that each module should have a single function as far as possible and a computer system having a desired function should be constructed by combining a plurality of I/O modules or the like having various functions as occasion demands.
In the case of the conventional PCI scheme, however, the number of connector pins increases according to the number of signal lines in the PCI bus, and an intelligent element for exercising the PCI bus control must be provided in each I/O module. This results in a problem that the mounting area of the board increases and the size reduction is limited. Furthermore, the bus connecting the modules is premised on a specified single bus scheme such as the PCI bus. If a plurality of devices having different bus schemes are used on the same bus, therefore, it is impossible to recognize a device and implement the plug and play function.
For supposing that arbitrary I/O modules are incorporated as in the embedded controller and providing the computer system with the plug and play function, therefore, a technique for discriminating a device in an embedded I/O module without being restrained to a specific bus scheme is desired.
Furthermore, according to the conventional modular technique, it is necessary to conduct individual wiring for the IDSEL signal between the PCI device on the processor side and PCI devices on the I/O side. Therefore, a plurality of IDSEL signal lines are provided on the bus, and IDSEL signal lines connected to modules are individually set every module. In general, this configuration must be implemented by manual work every module. Therefore, the operation man-hour and test man-hour increase. Furthermore, there is a problem that the mounting area and price are increased by switches, and it is difficult to completely eliminate false configuration.